Skip to content

Fix iOS native capture and release Flutter 0.8.17 - #57

Merged
Chinmay-KB merged 6 commits into
mainfrom
codex/ios-native-capture-0.8.17
Sep 2, 2026
Merged

Fix iOS native capture and release Flutter 0.8.17#57
Chinmay-KB merged 6 commits into
mainfrom
codex/ios-native-capture-0.8.17

Conversation

@Chinmay-KB

Copy link
Copy Markdown
Collaborator

Summary

  • pin the iOS plugin to published TugboatCaptureRuntime 0.1.1
  • reject blank native engine frames and explicitly retry hierarchy capture
  • resolve only the live FlutterView on iOS
  • raise the default degraded capture scale from 0.67 to 0.80
  • bump tugboat and tugboat_dio to 0.8.17

Validation

  • 398 tugboat tests passed
  • 20 tugboat_dio tests passed
  • focused native and screenshot tests passed
  • iOS simulator example compiled successfully
  • Pigeon outputs, Swift API, license, CocoaPods pin, and pub dry-run checks passed

Notes

  • The compatibility table row is required by release policy.
  • No prose documentation changes are included.

@Chinmay-KB
Chinmay-KB requested a lite review from Copilot September 2, 2026 15:24
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T15:28:52.173309Z 36f3558 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

There are a couple of concrete correctness/robustness issues in the updated test and iOS plugin callback dispatch that should be addressed before releasing.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR releases Flutter tugboat/tugboat_dio 0.8.17 and updates the iOS native capture integration to improve correctness when engine-surface capture produces unusable frames, while also increasing default degraded screenshot fidelity.

Changes:

  • Pin iOS CocoaPods runtime to TugboatCaptureRuntime 0.1.1 and adjust iOS plugin capture flow to retry with explicit hierarchy coverage and resolve only a live FlutterView.
  • Raise the default degraded capture scale from 0.67 → 0.80, and add/adjust tests to lock in behavior/trace coverage.
  • Bump package versions/changelogs and update the release compatibility table for 0.8.17.
File summaries
File Description
sdks/flutter/packages/tugboat/test/replay/screenshot_fresh_paint_test.dart Adds a widget test asserting the new default degraded scaling behavior.
sdks/flutter/packages/tugboat/test/replay/native_cpu_backend_test.dart Adds a test ensuring native trace coverage reflects hierarchy captures.
sdks/flutter/packages/tugboat/pubspec.yaml Bumps tugboat to 0.8.17.
sdks/flutter/packages/tugboat/lib/src/sdk_version.dart Keeps SDK version constant in sync with pubspec (0.8.17).
sdks/flutter/packages/tugboat/lib/src/replay_config.dart Raises default degraded capture scale to 0.80.
sdks/flutter/packages/tugboat/ios/tugboat.podspec Bumps plugin version to 0.8.17 and pins TugboatCaptureRuntime to 0.1.1.
sdks/flutter/packages/tugboat/ios/Classes/TugboatPlugin.swift Splits runtimes by coverage, adds hierarchy retry for pixel-copy failures, and tightens FlutterView resolution.
sdks/flutter/packages/tugboat/example/pubspec.yaml Updates example dependency to tugboat: ^0.8.17.
sdks/flutter/packages/tugboat/CHANGELOG.md Adds 0.8.17 release notes describing iOS capture changes and scaling update.
sdks/flutter/packages/tugboat/android/build.gradle Bumps Android plugin version to 0.8.17.
sdks/flutter/packages/tugboat_dio/pubspec.yaml Bumps tugboat_dio to 0.8.17 and depends on tugboat: ^0.8.17.
sdks/flutter/packages/tugboat_dio/CHANGELOG.md Adds 0.8.17 compatibility release note.
docs/releases/compatibility.md Adds required compatibility row for Flutter tugboat 0.8.17.
Review details
  • Files reviewed: 13/13 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread sdks/flutter/packages/tugboat/ios/Classes/TugboatPlugin.swift

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 36f35582f5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread sdks/flutter/packages/tugboat/ios/Classes/TugboatPlugin.swift Outdated
Comment thread sdks/flutter/packages/tugboat/ios/Classes/TugboatPlugin.swift Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The iOS plugin update introduces a lock-held dispose() call that can block or risk lock inversions; it should swap state under the lock and dispose outside it.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 13/13 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread sdks/flutter/packages/tugboat/ios/Classes/TugboatPlugin.swift

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are consistent with the release intent, include targeted new tests for the updated defaults/coverage reporting, and the versioning + release metadata updates are coherent across the repo.

Review details
  • Files reviewed: 13/13 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@Chinmay-KB
Chinmay-KB merged commit e70741a into main Sep 2, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants